In recent years, image information is treated as digital information, and at that occasion, an apparatus is becoming widely prevalent that compresses and encodes an image by employing a coding method for performing compression by orthogonal transformation and motion compensation such as discrete cosine transform using redundancy unique to image information for the purpose of highly efficient transmission and accumulation of information. Examples of the coding methods include MPEG (Moving Picture Experts Group) and the like.
In particular, MPEG2 (ISO/IEC 13818-2) is defined as a general-purpose image coding method, and is a standard that covers both of interlaced scanning images and progressive scanning images, and standard resolution images and high resolution images. For example, MPEG2 is now widely used for wide range of applications such as professional use and consumer use. For example, in a case of an interlaced scanning image of a standard resolution of 720 by 480 pixels, the amount of codes (bit rate) of 4 to 8 Mbps is allocated by using the MPEG2 compression method. Further, for example, in a case of an interlaced scanning image of a high resolution of 1920 by 1088 pixels, the amount of codes (bit rate) of 18 to 22 Mbps is allocated by using the MPEG2 compression method. Accordingly, high compression rate and high image quality can be achieved.
MPEG2 is mainly targeted for high image quality coding suitable for broadcasting, but does not support coding method of a less amount of codes (bit rate) than MPEG1. In other words, MPEG2 does not support higher compression rate. As portable terminals become widely prevalent, needs for such coding methods are considered to grow in the future, and in order to respond to such needs, MPEG 4 coding method has been standardized. With regard to image coding method, the specification is admitted as ISO/IEC 14496-2 in international standard on December, 1998.
In the schedule of standardization, on March, 2003, H.264 and MPEG-4 Part 10 (Advanced Video Coding, hereinafter referred to as H.264/AVC) was made into an international standard.
Further, as an expansion of the H.264/AVC, FRExt (Fidelity Range Extension) including an encoding tool required for professional use such as RGB, 4:2:2, 4:4:4 and even 8×8DCT and quantization matrix specified in the MPEG-2 was standardized on February, 2005. Accordingly, there was made a coding method capable of expressing even film noise included in a movie in a preferable manner using the H.264/AVC, and it is now being used for a wide range of applications such as Blu-Ray Disc (trademark).
However, recently, needs for still higher compression rate encoding has been enhanced, e.g., compressing an image of about 4000 by 2000 pixels which is four times the high-definition image, and distributing a high-definition image in an environment of a limited transmission capacity such as the Internet. For this reason, in VCEG (=Video Coding Expert Group) under ITU-T explained above, discussions about improvement of the encoding efficiency have been continuously conducted.
As one of such encoding efficiency improvements, in order to improve encoding of the motion vector using median prediction according to the AVC, adaptive use of any of not only “Spatial Predictor” derived from the median prediction defined in the AVC, but also “Temporal Predictor” and “Spatio-Temporal Predictor” as prediction motion vector information (hereinafter also referred to as MV Competition (MVCompetition)) has been suggested (for example, see Non-Patent Document 1).
It should be noted that, in the AVC, when prediction motion vector information is selected, a cost function value in High Complexity Mode or Low Complexity Mode implemented in the reference software of the AVC which is called JM (Joint Model) is used.
More specifically, a cost function value in a case where the prediction motion vector information is used is calculated, and the optimum prediction motion vector information is selected. In the image compression information, flag information indicating information about prediction motion vector information used for each block is transmitted.
By the way, there has been such concern that making a macro block size be 16 pixels by 16 pixels is not suitable for a large picture frame such as UHD (Ultra High Definition; 4000 pixels by 2000 pixels) which is a target of a next-generation coding method.
Accordingly, currently, for the purpose of further improving the encoding efficiency as compared with the AVC, a coding method called HEVC (High Efficiency Video Coding) is being standardized by JCTVC (Joint Collaboration Team-Video Coding) which is a joint standards organization of the ITU-T and the ISO/IEC.
According to the HEVC method, a coding unit (CU (Coding Unit)) is defined as the same processing unit as the macro block according to the AVC. The size of this CU, unlike the macro block of the AVC, is not fixed to 16 by 16 pixels, but in each sequence, the size is designated in the image compression information. In each sequence, the maximum size (LCU=Largest Coding Unit) and the minimum size (SCU=Smallest Coding Unit) of the CU are also specified. Further, the CU is divided into Prediction Units (PUs), which are areas serving as processing unit of intra- or inter-prediction (partial area of image of picture unit), and divided into Transform Units (TUs) which are areas serving as processing unit of orthogonal transformation (partial area s of image of picture unit).
Furthermore, in Non-Patent Document 2, a quantization parameter QP can be transmitted in a Sub-LCU unit. In up to what size of Coding Unit the quantization parameter is to be transmitted is designated in image compression information for each picture. The information about the quantization parameter included in the image compression information is transmitted in a unit of each Coding Unit.
Further, as one of coding methods of motion information, a method called Motion Partition Merging (hereinafter also referred to as Merge Mode (Merge mode)) has been suggested (for example, see Non-Patent Document 2). In this method, when motion information of the block in question is the same as motion information of the surrounding blocks, only the flag information is transmitted. During decoding, the motion information of the block in question is re-structured using the motion information of the surrounding blocks.
By the way, in Non-Patent Document 3, the following method has been suggested: when Spatial predicor of the PU in question which is a processing target is derived in MVCompetition or Merge mode explained above, the motion vector of a PU adjacent to the PU in question in terms of predetermined positional relationship among PUs adjacent to the PU in question is adopted as a candidate.
More specifically, the motion vector of A0 which is a PU adjacent to the lower left of the PU in question and the motion vector of A1 which is a PU located above A0 among PUs adjacent to the left of the PU in question are adopted as candidates. In addition, the motion vector of B2 which is a PU adjacent to the top left of the PU in question, and the motion vector of B0 which is a PU adjacent to the top right of the PU in question, and the motion vector of B1 which is a PU located adjacent to the left of B0 among PUs adjacent to the top of the PU in question are adopted as candidates.
Then, scanning is performed in the order of A0, A1 and in the order of B0, B1, B2, and the scanning is terminated when motion vector information having a reference frame equivalent to the motion vector information of the PU in question is detected.